home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / Canvas.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  3.1 KB  |  148 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:Canvas.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODCanvas_xh
  18. #define SOM_ODCanvas_xh
  19.  
  20. class ODCanvas;
  21.  
  22. #define ODCanvas_MajorVersion 1
  23. #define ODCanvas_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODBaseCanvas_xh
  30. #include <CanvasB.xh>
  31. #endif
  32.  
  33. #ifndef ODCanvas_API
  34. #define ODCanvas_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODPart;
  44. class ODFacet;
  45. class ODShape;
  46.  
  47. /*
  48.  * End of user-defined types.
  49.  */
  50.  
  51. #if applec ^ PRAGMA_LIB_EXPORT
  52. #pragma lib_export on
  53. #endif
  54.  
  55.  
  56. /* A procedure to create the ODCanvas Class */
  57. SOMEXTERN SOMClass * SOMLINK ODCanvasNewClass(
  58.         integer4 majorVersion,
  59.         integer4 minorVersion);
  60.  
  61. /* The API to the ODCanvas class object, and the methods it introduces. */
  62. typedef struct ODCanvasClassDataStructure {
  63.     SOMClass *classObject;
  64.     somMToken InitCanvas;
  65. } ODCanvasClassDataStructure;
  66. #ifdef SOM_NO_DATA_EXPORTS
  67.    SOMEXTERN ODCanvasClassDataStructure * ODCanvasGetClassData ( void );
  68. #   undef ODCanvasClassData
  69. #   define ODCanvasClassData (*ODCanvasGetClassData())
  70. #else
  71.    SOMEXTERN ODCanvasClassDataStructure ODCanvasClassData;
  72. #endif /* SOM_NO_DATA_EXPORTS */
  73.  
  74. #if applec ^ PRAGMA_LIB_EXPORT
  75. #pragma lib_export off
  76. #endif
  77.  
  78. #define _ODCanvas ODCanvasClassData.classObject
  79.  
  80. /* The API to parentMtabs for ODCanvas, and the instance data it introduces. */
  81. SOMEXTERN struct ODCanvasCClassDataStructure {
  82.     somMethodTabs parentMtab;
  83.     somDToken instanceDataToken;
  84. } ODCanvasCClassData;
  85.  
  86. /*
  87.  * -- Typedefs for Procedures that support Methods introduced by ODCanvas
  88.  */
  89. SOMEXTERN {
  90. typedef void   (* SOMLINK somTD_ODCanvas_InitCanvas)(ODCanvas *somSelf, Environment *ev,
  91.         ODGraphicsSystem graphicsSystem,
  92.         ODPlatformCanvas platformCanvas,
  93.         ODBoolean isDynamic,
  94.         ODBoolean isOffscreen);
  95. }
  96.  
  97. #endif /* ODCanvas_API */
  98.  
  99.  
  100. /*
  101.  * -- Method Tokens are Thunks
  102.  */
  103. #undef somresolve_
  104. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  105.  
  106. /*
  107.  * -- The C++ Wrapper Class for ODCanvas
  108.  */
  109. class ODCanvas : public ODBaseCanvas
  110. {
  111. public:
  112.  
  113. void *operator new(size_t size)
  114. {
  115.    SOM_IgnoreWarning(size);
  116.    if (!ODCanvasClassData.classObject) 
  117.       ODCanvasNewClass(ODCanvas_MajorVersion,ODCanvas_MinorVersion);
  118.    return (void *)
  119.       ((somTD_SOMClass_somNew)
  120.       somresolve_((SOMObject *)((void*)(ODCanvasClassData.classObject)),
  121.                  SOMClassClassData.somNew))
  122.          ((SOMClass *)((void*)(ODCanvasClassData.classObject)));
  123. }
  124.  
  125. void operator delete(void * obj)
  126. {
  127.    ((SOMObject *)obj)->somFree();
  128. }
  129.  
  130. /* public method: InitCanvas */
  131. void   InitCanvas(Environment *ev,
  132.         ODGraphicsSystem graphicsSystem,
  133.         ODPlatformCanvas platformCanvas,
  134.         ODBoolean isDynamic,
  135.         ODBoolean isOffscreen)
  136. {
  137.    SOM_Resolve(this,ODCanvas,InitCanvas)
  138.     (this,ev,graphicsSystem,platformCanvas,isDynamic,isOffscreen);
  139. }
  140.  
  141.  
  142.  
  143. };   /* ODCanvas */
  144.  
  145.  
  146.  
  147. #endif       /* SOM_ODCanvas_xh */
  148.